我想把每个单词的第一个字母放在一起,使“我需要帮助”变成“Inh”。我当时想剪掉所有东西,然后从那里开始,或者立即抓取每个第一个字母。 最佳答案 您可以在这里简单地使用split、map和join。string='Ineedhelp'result=string.split.map(&:first).joinputsresult#=>"Inh" 关于ruby/regex获取每个单词的第一个字母,我们在StackOverflow上找到一个类似的问题: http
我想通过这种方式下载一个音乐文件:require'open-uri'source_url="http://soundcloud.com/stereo-foo/cohete-amigo/download"attachment_file="test.wav"open(attachment_file,"wb")do|file|file.printopen(source_url).readend在该示例中,我想将“Test.wav”更改为真实文件名(例如JDownloader程序)。编辑:我不是指临时文件,我指的是像Jdownloader一样在网络中存储的文件:“CoheteAmigo-Ste
我正在尝试使用mechanize解析网站的内容,但我遇到了困难。我要解析的内容位于li标记内,并且顺序并不总是相同。假设我们有以下情况,其中li标签的顺序并不总是相同,有时甚至根本不存在。title1":herearethedetails"title2":herearethedetails"title3":herearethedetails"title4":herearethedetails"我想要的是仅获取li详细信息,其中span文本例如title3。我所做的是以下内容,它为我提供了第一个li的详细信息:putspage.at('.details').at('span',:text
我正在尝试在对服务器的单个请求中执行多个RQL命令,但我可能会添加但没有成功。我试过r.union,但它只适用于序列。我真正想要的是:[r.db(..).table(..).get(id1).delete(),r.db(..).table(..).get(id2).delete(),r.db(..).table(..).insert(...)].run_all_at_once有什么办法吗?谢谢! 最佳答案 您还可以使用dor.do(r.table('test').insert({value1:"Hey"}),r.table('tes
我正在尝试使用我的2Druby数组解决一些问题,当我进行数组切片时,我的LOC减少了很多。例如,require"test/unit"classLibraryTest我想知道是否有办法得到对角切片?假设我想从[0,0]开始并想要一个3的对角线切片。然后我会从[0,0]、[1,1]、[2,2]获取元素,我会得到一个数组[1,4,7]上面的例子。是否有任何神奇的单行ruby代码可以实现这一目标?3.次做{一些神奇的东西?} 最佳答案 puts(0..2).collect{|i|array[i][i]}
在开发和调试时,有时我希望我可以编写一个1-liner来转储一堆变量的名称、类型和值。问题是我根本不知道如何访问变量的名称。这是第一次尝试:foo=1bar="42"baz=Hash.new[foo,bar,baz].eachdo|v|puts"#{v.???}=(#{v.class})#{v}"end我希望这个程序的输出是这样的:foo=(Fixnum)1bar=(String)42baz=(Hash)...我不知道???应该在上面。这能做到吗? 最佳答案 foo=1bar="42"baz=Hash.new%w(foobarbaz
我正在使用Ruby1.9.3和Rails3.0.9构建一个应用程序我有一个像下面这样的类。moduleCDAclassDocumentdefhumanize_class_nameself.class.name.gsub("::","")endendend我想要像“CDADocument”这样的类名。我的humanize_class_name方法是实现此目的的正确方法吗?或Rails是否还有其他可用的内置方法? 最佳答案 如果您使用i18n,您可以调用Model.model_name.human来获取本地化的模型名称。例如:Event
如何访问包含文件中定义的变量?#inc.rbfoo="bar";#main.rbrequire'inc.rb'putsfoo#NameError:undefinedlocalvariableormethod`foo'formain:Object 最佳答案 您无法访问其定义范围之外的本地文件——在本例中为文件。如果您想要跨文件边界的变量,请将它们设为局部变量。$foo、Foo和@foo都可以。如果你真的不想在符号上放置任何类型的装饰(可能因为你不喜欢它的读法),一个常见的hack就是将它定义为一个方法:deffoo()"bar"end
我正在使用awesome_nested_set我的Rails项目中的插件。我有两个看起来像这样的模型(简化):classCustomer:customer_idvalidates_presence_of:name#Furthervalidations...end数据库中的树按预期构建。parent_id的所有值,lft和rgt是正确的。树有多个根节点(这在awesome_nested_set中当然是允许的)。现在,我想在正确排序的树状结构中呈现给定客户的所有类别:例如嵌套标签。这不会太困难,但我需要它是高效的(sql查询越少越好)。更新:发现可以计算树中任何给定节点的子节点数,而无需进
我编写的脚本在启动时运行,需要设置环境变量,但是Ruby的Exceptions,是最好的?我使用了LoadError,我只是想尽可能具有描述性并遵循适当的约定。其次,除了检查环境变量的长度外,我找不到其他方法来查看是否设置了环境变量,但这似乎不太优雅。beginraiseLoadErrorifENV['FOO'].to_s.length==0system"openhttp://example.com/"+ENV['FOO']rescueException=>eputs"=>#{e}FOOenvironmentvariablenotset"end 最佳答案